﻿using Library.Logic;
using Library.Logic.Inference;
using System.Diagnostics.Contracts;
using System.Linq.Expressions;

namespace Library.Collections.Specialized
{
    public interface ICollectionTestableReason<in T> : ICollectionTestable<T>
    {
        [Pure]
        bool CanAdd(T item, out IInference argument);

        [Pure]
        bool CanRemove(T item, out IInference argument);
    }
}
